Cài đặt Apache server lên EC2 bằng EC2 User Data

Cài đặt Apache server lên EC2 bằng EC2 User Data

Clock Icon2020.11.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1. EC2 User Data là gì?

EC2 User Data được sử dụng khi bạn khởi chạy một Amazon EC2 instance, dùng để tự động chạy các tập lệnh sau khi instance khởi động.

Link tham khảo: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

2. Một số lưu ý khi sử dụng EC2 User Data

-Script chỉ chạy 1 lần khi instance khởi động lần đầu và sẽ không chạy lại sau đó.

-EC2 User Data được sử dụng để tự động chạy một số tác vụ phổ biến như:

  • Cập nhật phần mềm
  • Cài đặt phần mềm
  • Cài đặt web server
  • Download một số file
  • .....

-EC2 User Data Script được chạy dưới quyền root, tức là chúng tự động được chạy dưới quyền sudo. Hãy cẩn trọng khi viết script.

3. Thử cài đặt Apache server lên EC2 bằng EC2 User Data

  • Khởi chạy 1 instance
  • Chọn AMI: Amazon Linux 2 AMI

  • Chọn Instance type: t2.micro cho mục đích test

  • Cấu hình instance: Ở mục Advanced Details chúng ta sẽ thấy dòng User data. Tại đây chúng ta có thể nhập trực tiếp script mình muốn. Các dòng lệnh dưới đây sẽ cài đặt Apache server và tạo 1 file index.html để chúng ta kiểm tra xem Apache Server đã được cài đặt hay chưa.
#!/bin/bash
yum update -y
yum install -y httpd.x86_64
systemctl start httpd.service
systemctl enable httpd.service
echo "Test Apache Server" > /var/www/html/index.html

Chú ý rằng để các câu lệnh được thực hiện thì phải có dòng lệnh #!/bin/bash ở đầu tiên. Với những dòng code trên, nếu trang web được tạo ra hiện dòng chữ "Test Apache Server" nghĩa là Apache Server đã được cài đặt thành công.

  • Tạo 1 Security Group với cổng cho phép instance kết nối với internet qua cổng HTTP 80 (Để test Apache Server)

  • Chọn Key pair đã có hoặc tạo 1 keypair mới

  • Sử dụng Public IPv4 của Instance mới tạo để kiểm tra xem Apache Server đã được cài đặt hay chưa

Vậy là Apache Server đã được cài đặt thành công!

 

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.